Conversation
|
When running |
| Coef3rdOrder: 0.25 | ||
| FluxThicknessType: Center | ||
| FluxTracerType: Center | ||
| VerticalTracerFluxLimiterEnabled: true |
There was a problem hiding this comment.
| VerticalTracerFluxLimiterEnabled: true | |
| VerticalTracerFluxLimiterEnable: true |
I think this is more consistent with other config options
|
|
||
| for (int KVec = 0; KVec < KLen; ++KVec) { | ||
| const I4 K = KStart + KVec; | ||
| const Real WAvg = 0.5_Real * (LocTotVertVelocity(Cell1, K) + |
There was a problem hiding this comment.
Do we want to use
so that we can easily switch from anisotropic to isotropic interpolation for all variables (here and elsewhere)?
| // | ||
| //===----------------------------------------------------------------------===// | ||
|
|
||
| #include "AuxiliaryState.h" |
There was a problem hiding this comment.
I think this may cause a circular include issue in the headers when initializing with AuxiliaryState. I’d suggest removing this line unless it introduces any other issues.
| #include "AuxiliaryState.h" |
| const Array2DReal &LayerThickness, //< [in] layer thickness | ||
| const TimeInterval TimeStep //< [in] (optional) time step | ||
| ) { | ||
|
|
There was a problem hiding this comment.
| // Return if vertical advection tracer tendency not enabled | |
| if (!TracerVertAdvEnabled) | |
| return; |
Add the
VertAdvmodule to Omega, providing data structures and methods for vertical advection. This module includes:Additional changes in this PR:
parallelForOuterwith an optional argument to enable the use of scratch arrays in hierarchical parallelism.ProvThickness, which represents thickness after horizontal thickness flux. Further work required to fully implement provisional thickness.BottomDepthfromHorzMesh, this field was previously added toVertCoord.This PR builds and passes the unit tests successfully on Chrysalis, pm-cpu, pm-gpu, and Frontier (CPU & GPU).
Checklist
Testingwith the following:have been run on and indicate that are all passing.
has passed, using the Polaris
e3sm_submodules/Omegabaseline-pfor both the baseline (Polarise3sm_submodules/Omega) and the PR build